home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekkan Dennou Club 147
/
Gekkan Dennou Club - 2000.8 Vol. 147 (Japan).7z
/
Gekkan Dennou Club - 2000.8 Vol. 147 (Japan) (Track 1).bin
/
tools
/
ask
/
gmd
/
source
/
gmd.h
< prev
next >
Wrap
Text File
|
2000-02-10
|
3KB
|
84 lines
/* AIGライブラリ GMDサポート関数
Copyright (C) 1997-98,2000 by AIG-SOFT
*/
#ifndef __AIG_GMD__
#define __AIG_GMD__ 1 /* ヘッダー読み込みシンボル */
#ifndef __CLASS_H
#include <class.h>
#endif
/* 定数 */
#define GMD_SYMBOL "AIG-GMD" /* デバイスシンボル */
// 実際にはGMDDevName()を使えば、これらのデバイス名定数を使うことはない
//(通常は使わないように)
#define GMD_NAME "@MOJI" /* デバイス名 通常 */
#define GMD_NAME2 "@GMD" /* デバイス名 /G時 */
#define NOCHR 0xffff /* 認識不可文字 */
#define WTERR 0xfffe /* 書き込みエラー */
#define GMDNull (0) /* SetWriter/SetGroupの初期化コード */
// APIコマンド
#define GMD_Read1 1 /* 1文字読みだし */
#define GMD_ReadTango 2 /* 単語読みだし */
#define GMD_Read 3 /* 指定文字数読みだし */
#define GMD_SetWriter 4 /* 書き込みルーチン設定 */
#define GMD_SetGroup 5 /* Groupルーチン設定 */
#define GMD_MoveCursor 6 /* 文字幅に合わせたカーソル移動 */
#define GMD_ReadVer 7 /* バージョン読みだし */
#define GMD_JLock 8 /* 常駐ロック */
#define GMD_JUnlock 9 /* 常駐アンロック */
#define GMD_DevNameA 10 /* デバイス名取得 */
#define GMD_RevMode 11 /* 反転文字読み取りモード */
/* GMD関数はプロトタイプ宣言のみ用意 */
// 実は、SetWriter/SetGroupの書き方には自身がない^^;
// 誰か直して・・・
#ifdef __cplusplus /* G++対応 */
extern "C" {
#endif
int DevCheck(UBYTE *);
int GMDCheck(void);
int GMDReadData(UBYTE *);
void GMDDevName(UBYTE *);
// API関数
int GMDSetAPI(void);
long GMDCallAPI(UBYTE);
long GMDCallAPI1d(UBYTE,long);
void *GMDCallAPI1a(UBYTE,void *);
long GMDCallAPI2(UBYTE,long ,long);
//
long GMDRead1(int,int);
long GMDReadTango(int,int);
long GMDRead(int,int,int);
int (*GMDSetWriter)(int (*)());
int (*GMDSetGroup)(int (*)());
void GMDMoveCursor(int);
int GMDReadVer(void);
int GMDJLock(void);
int GMDJUnlock(void);
void GMDDevNameA(UBYTE *);
int GMDRevMode(int);
#ifdef __cplusplus
}
#endif
// (x,y)の座標をxyにする定義
#define Xyx(x,y) ((x)<<16|(y))
// API関数
// アセンブラーレベルのAPIとは若干異なる
#define GMDReadVer() GMDCallAPI(GMD_ReadVer)
#define GMDJLock() GMDCallAPI(GMD_JLock)
#define GMDJUnlock() GMDCallAPI(GMD_JUnlock)
#define GMDRead1(x,y) GMDCallAPI1d(GMD_Read1,Xyx(x,y))
#define GMDReadTango(x,y) GMDCallAPI1d(GMD_ReadTango,Xyx(x,y))
#define GMDMoveCursor(sz) GMDCallAPI1d(GMD_MoveCursor,sz)
#define GMDSetWriter(ad) GMDCallAPI1a(GMD_SetWriter,ad)
#define GMDSetGroup(ad) GMDCallAPI1a(GMD_SetGroup,ad)
#define GMDRead(x,y,size) GMDCallAPI2(GMD_Read,Xyx(x,y),size)
#define GMDDevNameA(nm) GMDCallAPI1a(GMD_DevNameA,nm)
#define GMDRevMode(md) GMDCallAPI1d(GMD_RevMode,md)
#endif